package com.yuntai.pms.model.api.handler;


import com.yuntai.pms.model.dto.handler.ResourceServerDto;
import com.yuntai.pms.model.vo.handler.ResourceServerVo;
import com.yuntai.pms.model.vo.handler.ServerGroupPair;

import java.util.Date;
import java.util.List;

/**
 * @ClassName: ResourceServerService
 * @Description: 操作资源服务器的service层
 * @author 杨训亮
 * @date 2017年6月20日 上午9:58:26
 */
public interface ResourceServerService {
	
	/**
	 * 保存
	 * @author 杨训亮
	 * @date 2017年6月20日 上午9:59:05
	 * @param dto
	 * @return
	 */
	Boolean save(ResourceServerDto dto);


	/**
	 * @Author maoze@hsyutai.com
	 * @Description  名称文艺
	 * @Date 17:35 2019/4/2
	 * @Param [dto]
	 * @return int
	 **/
	Integer getCountSamename(ResourceServerDto dto);

	/**
	 * 获取所有的ResourceServer信息
	 * @param string 
	 * @return
     */
	List<ResourceServerVo>  queryAll(String serverName, String group, String description, String status, String startTime, String endTime);

	/**
	 * 获取所有的serverName
	 * @return
     */
	List<ServerGroupPair> allServerNames();
	
	
	/**
	 * 更新
	 * @author 杨训亮
	 * @date 2017年6月20日 上午9:59:29
	 * @param dto
	 * @return
	 */
	Boolean update(ResourceServerDto dto);
	
	/**
	 * 单个查询
	 * @author 杨训亮
	 * @date 2017年6月20日 上午10:00:39
	 * @param dto
	 * @return
	 */
	ResourceServerVo querySingle(ResourceServerDto dto);
	
	
	/**
	 * 判断指定的serverName和group是否存在
	 * @author 杨训亮
	 * @date 2017年6月20日 下午1:22:27
	 * @param dto
	 * @return
	 */
	Boolean isExist(ResourceServerDto dto);
	
	
	/**
	 * 多个查询
	 * @author 杨训亮
	 * @date 2017年6月20日 上午10:00:51
	 * @param dto
	 * @return
	 */
	List<ResourceServerVo> query(ResourceServerDto dto, Date sartQueryTime, Date endQueryTime);

	/**
	 * 删除
	 * @param dto
	 * @return
     */
	Boolean delete(ResourceServerDto dto);

	List<String> allDubboGroup(String serverName);
}
